*******************************************************
*  RAYXTMFM, version 3.0   (August 2024)              *
*  INT 13h on XT-class MFM/RLL controllers.           *
*  May be freely used and distributed, but not sold.  *
*******************************************************

+--------------------------------------------------+
| Part 1 of 5 - Motherboard class                  |
+--------------------------------------------------+
CPU type = 8086/8088/80186/80188/V20/V30
Motherboard class = PC or XT class (based on CPU type)

+--------------------------------------------------+
| Part 2 of 5 - ID the motherboard's BIOS ROM      |
+--------------------------------------------------+
Model byte at FFFFE = FE         (XT)
Date at FFFF5 = 11/08/82   (in clones, do not trust this date)
Checksum of last 8 KB = 000E9A00   (simple byte addition)
CRC32 of last 8 KB = 19F624A8
CRC32 indicates = IBM revision 11/08/82
    For IBM Portable PC (IBM 5155)
       and early IBM XT (IBM 5160)
    Contains "1501512 COPR. IBM 1981"

+--------------------------------------------------+
| Part 3 of 5 - ID the BIOS expansion ROM at C8000 |
+--------------------------------------------------+
Present ? = Yes       (first two bytes are 55 AA)
Declared size = 4 KB      (third byte is 08)
Checksum of that size = 0009EC00  (simple byte addition)
CRC32 of first 4 KB = 25920437
CRC32 indicates = IBM BIOS ROM p/n 62X0822
    Used on 3rd variation of 'IBM Fixed Disk Adapter'

+--------------------------------------------------+
| Part 4 of 5 - INT 0Dh (used for IRQ5)            |
+--------------------------------------------------+
C8000 ROM address - Start = C8000
C8000 ROM address - End    = C8FFF    (based on the declared size)
Int 0Dh vector points to = C8755    (C800:0755)
Pointing to C8000 ROM ? = Yes      (FYI)

+--------------------------------------------------+
| Part 5 of 5 - INT 13h                            |
+--------------------------------------------------+
Hard disk controller - To reset itself = Successful (via function 00h)
Hard disk controller - To test its RAM = Successful (via function 12h)
Hard disk controller - To do a self-test = Successful (via function 14h)
Hard disk controller - Drive parameters = Successful (via function 09h)
     
Hard drive 0 - Reporting as 'ready' ? = Yes (via function 10h)
Hard drive 0 - Recalibrate = Successful (via function 11h)
Hard drive 0 - Seek to cylinder 5 = Successful (via function 0Ch)
Hard drive 0 - Read first sector on cyl 5 = Successful (via function 02h)
Hard drive 0 - Seek to cylinder 0 = Successful (via function 0Ch)
Hard drive 0 - Read first sector on cyl 0 = Successful (via function 02h)